//package com.app.micaihu.custom.components.net;
//
//import com.app.micaihu.configure.AppConfigTools;
////import com.squareup.okhttp.Callback;
////import com.squareup.okhttp.OkHttpClient;
////import com.squareup.okhttp.Request;
////import com.squareup.okhttp.Response;
//
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.concurrent.TimeUnit;
//
///**
// * Created by Guo on 2016/8/4.
// *
// * okHTTP的下载工具类
// *
// */
//public class OKHttpUtils {
//
//    private static OKHttpUtils mOKHttpUtils;
//    private OkHttpClient mOkHttpClient;
//
//    private OKHttpUtils(){}
//
//    public static OKHttpUtils getInstance(){
//        if(mOKHttpUtils == null){
//            mOKHttpUtils = new OKHttpUtils();
//        }
//        return mOKHttpUtils;
//    }
//
//
//    /**
//     * 下载方法
//     * @param url
//     * @param callback
//     */
//    public void downLoadFile(String url,Callback callback){
//
//        Request request = new Request.Builder()
//                .url(url)
//                //.tag(this)
//                .build();
//        getOKHttpClient().newCall(request).enqueue(callback);
//
//
//    }
//
//    /**
//     * 返回okHttpClient
//     * @return
//     */
//    private OkHttpClient getOKHttpClient(){
//        if(mOkHttpClient == null){
//            mOkHttpClient = new OkHttpClient();
//            mOkHttpClient.setConnectTimeout(5000, TimeUnit.MILLISECONDS);
//            mOkHttpClient.setReadTimeout(3000, TimeUnit.MILLISECONDS);
//            mOkHttpClient.setWriteTimeout(2000, TimeUnit.MILLISECONDS);
//        }
//
//        return mOkHttpClient;
//    }
//
//
//    /**
//     * 保存文件
//     * @param response
//     * @param url
//     * @return
//     * @throws IOException
//     */
//    public File saveFile(Response response,String url) throws IOException {
//        InputStream is = null;
//        byte[] buf = new byte[2048];
//        int len = 0;
//        FileOutputStream fos = null;
//        try {
//            is = response.body().byteStream();
//            final long total = response.body().contentLength();
//           // LogUtils.i("TAG", "total--" + total);
//            long sum = 0;
//            File dir = new File(AppConfigTools.USERSAVEIMG);
//
//            if (!dir.exists()) dir.mkdirs();
//            File file = new File(dir, url.substring(url.lastIndexOf("/") + 1)+".jpg");
//            fos = new FileOutputStream(file);
//            while ((len = is.read(buf)) != -1) {
//                sum += len;
//                fos.write(buf, 0, len);
//                //final long finalSum = sum;
//                //han.obtainMessage(PROG, String.valueOf(finalSum * 1.0f / total)).sendToTarget();
//            }
//            fos.flush();
//            return file;
//        } finally {
//            try {
//                if (is != null) is.close();
//            } catch (IOException e) {
//            }
//            try {
//                if (fos != null) fos.close();
//            } catch (IOException e) {
//            }
//        }
//    }
//
//    /**
//     * 保存文件
//     * @param response
//     * @param url
//     * @return
//     * @throws IOException
//     */
//    public File saveFileToAPK(Response response,String url) throws IOException {
//        InputStream is = null;
//        byte[] buf = new byte[2048];
//        int len = 0;
//        FileOutputStream fos = null;
//        try {
//            is = response.body().byteStream();
////            final long total = response.body().contentLength();
//            // LogUtils.i("TAG", "total--" + total);
//            long sum = 0;
//            File dir = new File(AppConfigTools.APKFLODER);
//
//            if (!dir.exists()) dir.mkdirs();
//            File file = new File(dir, url.substring(url.lastIndexOf("/") + 1));
//            fos = new FileOutputStream(file);
//            while ((len = is.read(buf)) != -1) {
//                sum += len;
//                fos.write(buf, 0, len);
//                //final long finalSum = sum;
//                //han.obtainMessage(PROG, String.valueOf(finalSum * 1.0f / total)).sendToTarget();
//            }
//            fos.flush();
//            return file;
//        } finally {
//            try {
//                if (is != null) is.close();
//            } catch (IOException e) {
//            }
//            try {
//                if (fos != null) fos.close();
//            } catch (IOException e) {
//            }
//        }
//    }
//
//
//
//}
